F8 Preliminary Microprocessor User's Manual January 1975 By Fairchild Semiconductor Introduction A microprocessor differs from a specifically designed logic network in that the microprocessor contains generalized logic units (registers, counters, control elements, et al) which are used for many different tasks during the operation of the system. Thus, a register designated as an ACCUMULATOR may receive the results of an arithmetic operation, or may be used to input from or output to some other system; or may have its contents shifted or modified as appropriate during the operation of the system. The control sequence that determines how each of the logic units is used during the operation of the microprocessor is called the PROGRAM. The program is composed of individual steps, or INSTRUCTIONS, that moves or modifies information in a specific way as it is passed through the microprocessor. A task, (for example: adding two (10) digit numbers) may require that a program be designed that contains just a few instructions or as many as several thousand, (depending on the application). Each instruction is performed or EXECUTED sequentially. The most significant differences between a microprocessor based system design and a dedicated logic based system design is in the area of performance and the amount of logic units required. A few generalized logic units of the micro- processor design are used repetitively during the execution of the programmed instructions. More time is required to process the information to the system specifications. Thus, the microprocessor based system trades off speed (or performance) for fewer logic elements. Since performance is sacrificed in designing a microprocessor based system, the justification for using a microprocessor must be lower overall cost for implementing the system. There are two areas of cost savings in designing a microprocessor based system: o Fewer Logic Packages o Shorter Design and Development Schedules Writing a program for a microprocessor based system is generally simpler than designing the interconnections for discrete logic networks. There is a finite set of instructions available in a microprocessor that is most usually limited to no more than a few hundred instructions. Most one chip microprocessors generally contain less than one hundred unique instructions which are easy to learn and apply. The design of logic networks, however, implies infinitely more ways in which to interconnect a family of logic components together to complete the required design. Not only must the designer be aware of the rules for logic interconnections, but, signal interface compatibility, signal race conditions and logical polarities must be accounted for. Additionally, unexpected interferences (or noise) must be ferreted out of the design during the debugging of the first system. All of these problems are greatly reduced when using a microprocessor. The fewer total packages of a micro-processor design produce fewer design and debugging problems. Secondly, a program consisting of instructions is easier to write. All of these advantages mean reduced design time and costs. The manufacturing of microprocessor based systems is also less costly because fewer total integrated circuits are used, and this requires fewer printed circuits, less power and smaller and simpler housings. The F8 System is designed to provide the engineer the maximum benefits possible in the area of reduced costs and high performance. There are approximately 70 instructions available most of which are single byte in length. More complicated functions and addressing modes are eliminated to compact total circuit size and thereby reduce costs. The instructions, as a consequence, are easy to learn and simple to use facilitating easier program design and shorter development time. The design of the F8 circuits has been carefully planned to provide the most useful functions possible in the limited chip area of reasonably producible circuits. Partitioning of the internal logic has been arranged to provide the maximum utilitarian use of the available external circuit interconnections. For example, the program counter has been located in the memory circuits eliminating the need for 16 address connections between F8 circuits. Input/Output ports have been added to both the CPU and the F8 ROM circuits and brought out to the now available 16 pins on each circuit to give the designer more utilitarian functions available for implementing his design. A fully functional F8 microprocessor based system can be fabricated with as few as only (2) F8 circuits and some passive components (resistors and capacitors). Typical applications for the 2 circuit configuration are noncomplicated control or business machine applications: Yet; the F8 has the power and flexibility to be used in more complex systems having up to 65,536 bytes of total addressable memory, direct memory access and multiple level priority interrupts. Additional circuits are included to add flexibility and minimize the total system package count. The clock generator circuit and power-on detect circuits are included in the CPU circuit to simplify system design. Each memory chip contains a programmable timer to facilitate generating real time events or delays without disabling the processor. (The usual method of creating time delays ties up the processor counting non-functional instructions in a loop until the desired elapsed time has occurred.) A RAM of sixty-four words of 8 bits each is included in the CPU as a fast operating scratchpad register array. Instructions that use the RAM (ADD, LOAD, OR, AND, Decrement, et al) all execute within 2 microseconds*. The F8 system of components is designed to provide you with the most functional value at the lowest system cost possible consistent with current technology. * The Decimal ADD requires 4 usec. and the Decrement REQUIRES 3 usec.